package jm.nj.demo04mian.demo12;

/*
 * 内部类:写在其他类内部的类
 * 分类:
 *       成员内部类:写在其他类的成员位置
 *       局部内部类:写在其他类中的方法中
 *
 * 成员内部类:
 *       定义格式:
 *               修饰符 class 外部类名{
 *                           修饰符class 内部类名{
 *                                       内部类成员
 *                           }
 *               }
 *       内部类同样可以继承其他的类,和实现接口
 *
 * 使用格式:
 *       外部类名.内部类名 变量名 = new 外部类名().new内部类名();
 *               变量名.内部类的属性
 *               变量名.内部类的方法();
 *   注意:在内部类中可以访问外部类的成员
 * */
public class Outer {
    int a = 10;

    public void outer(){
        System.out.println("外部类的方法");
    }
    //成员类部类
    public class Inner{
        int b =20;
        public void inner(){
            System.out.println("内部类的方法");
            System.out.println("b:"+b);
            //在内部类中可以访问外部类成员
            System.out.println("a:"+a);
            outer();
        }
    }
}
